When transmitting user input to a remote device using conventional network transmission methods (e.g., TCP), data packets carrying the input data are repeatedly transmitted until there is confirmation of receipt from the remote device. Under this approach, these conventional methods assume that such repetition will improve the probability that the data will reach its target destination. However, such approach (waiting for confirmation and transmission repetition) actually introduces significant network delay, especially within poor quality networks where multiple attempts are often needed for successful transmission. The significant round-trip delay time (RTD) associated with this approach is especially costly for real-time gaming applications as any delays in game interaction negatively impact the end user's experience. This issue is especially prevalent within the field of cloud computing technology.
Conventional methods transmit these user input events as they happen and, as a consequence, input data transmitted from remote client devices may get lost during transmission, which may lead to a corrupt input state scenario on a host device. The scenario results in the host device receiving data consisting of unintended changes to the original data sent by the client device. As a result, the host device is then forced to render output based on corrupt data.